<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- 1. 整理出来8个数组方法，写出数组方法的解释，并使用如：-->
    <script>
      //1. push
      // 参数：接收一个或多个参数
      // 作用：向指定数组尾部添加元素
      // 返回值：新数组的长度
      // 例如：
      const arr = ['a', 'b', 'c']
      arr.push('d')
      console.log(arr)

      //2.unshift()
      //参数：接收一个或多个参数
      // 作用：（在开头)向数组添加一或多个元素
      // 返回值：新数组的长度
      // 例如：
      const arr1 = [1, 2, 3]
      arr1.unshift(0)
      console.log(arr1)

      //3.pop()
      // 作用：删除数组的最后一位
      // 返回值：返回被删除的数据
      // 例如：
      const arr2 = [4, 5, 6]
      arr2.pop()
      console.log(arr2)

      //4.shift()
      // 作用：移除数组的第一项
      // 返回值：返回被删除的数据
      // 例如:
      const arr3 = [5, 6, 7]
      arr3.shift()
      console.log(arr3)

      //5.splice()
      // 作用：在指定位置删除指定个数元素再增加任意个数元素（实现数组任意位置的增删改)
      // 返回值：返回删除的数据所组成的数组
      // 例如
      const arr4 = ['a', 'b', 'c', 'd']
      arr4.splice(1, 1, 'ttt')
      console.log(arr4) //['a','ttt','c','d']

      //6.filter()
      // 作用：过滤方法，返回符合条件的元素。
      // 返回值：满足条件的元素组成的新数组
      const arr5 = [10, 20, 30]
      const newArr = arr5.filter(function (item, index) {
        return item >= 20
      })
      console.log(newArr)

      //7.forEach()
      // 作用：遍历作用，用于数组的每个元素，并将元素传递给回调函数
      // 返回值：无
      const arr6 = ['红', '白', '绿']
      arr.forEach(function (item, index) {
        console.log(item) //数组元素，红白绿
      })

      //7.map():
      // 作用：按照原始数组元素顺序依次处理元素。。
      // 返回值：返回一个新数组，数组中的元素为原始数组元素调用函数处理的后值
      const arr7 = [1, 4, 9, 16]
      const newarr = arr7.map((x) => x * 2)
      console.log(newarr)

      //8.indexOf():
      // 作用：查询某个元素在数组中第一次出现的位置 存在该元素,返回下标,不存在返回 -1,
      // 返回值：存在该元素,返回下标,不存在返回-1
      const arr8 = [1, 4, 9, 16]
      const index = arr8.indexOf(4)
      console.log(index) //下标
      
      //9.join();
      // 作用：特定的字符,将数组拼接形成字符串 (默认",")
      const arr9 = [1, 4, 9, 16]
      const result= arr9.join(',')
      console.log(result) //;

      //10.concat();
      //功能：数组的拼接(将多个数组或元素拼接形成一个新的数组),不改变原数组返回新数组	
      //返回值：返回合并之后的数组
      const arr10 = [1, 2, 3];
      const num1 = ["a", "b", "c"];
      const num2 = ["A", "B", "C"];
      const rel = arr10.concat(num1, num2);
      console.log(rel); //新数组//
    </script>
  </head>
  <body></body>
</html>
